package com.perfectoMobile.utils.device;

import java.util.List;

import com.perfectoMobile.utils.device.GeneralEnums.Browser;




public interface IdeviceGeneral {
	
		public boolean installApp(String App);
		public boolean uninstallApp(String App);
        public List<String> getAppsList();
        public String getFocusedApp();
        public boolean execShell();
        public boolean openBrowser(Browser browser);
        public boolean navigateTo(Browser browser ,String url);
        public boolean syncBrowser();
        public boolean browserClearAll();
        public boolean touch(int x, int y);
        public boolean unlockScreen();               
    	public String startApplication(String appName);    	
    	public String pressKey (String key);   	    	
    	public String pressKeyDown (String key);    	
    	public String pressKeyUp (String key) ;    	
    	public String domClick (String appType, String timeout, String uid, String xpath, String type) ;    	
    	public String domClick (String body);
    	public String domSetControl (String appType, String timeout, String uid, String xpath, String value);
    	public String domSetControl (String body);
    	public String domCheckPageProperty (String propertyName, String value);   	
    	public String nativeCheckPageProperty (String propertyName);  	
    	public String domExecuteJS(String javascript);
    	public String domGetProperty(String uid, String xpath, String propertyName, String timeout);   	
    	public String nativeGetProperty(String uid, String xpath, String propertyName, String timeout);
    	public String domGetProperty(String body);
    	public String nativeGetPropertyValue (String uid, String xpath, String propertyName, String timeout);   	
    	public String rotate (int angle);    	
    	public String typetext(String text);
    	public String reboot();   	
    	public String getCapabilities();   	
    	public String nativeClickControl(String appType, String xPath, String uid, String clazz, String text, String index,String timeout);    	
    	public String nativeSetControl(String appType,String xPath, String uid, String clazz, String text, String index, String value,String timeout) ;   	
    	public String nativeGetControlProperties(String appType, String xPath ,String uid, String clazz, String text, String index, String propertyName,String timeout);    	
    	public String closeApplication (String applicationName);
    	public String getElementsByXPath(String body);   	
    	public String nativeControls();    	
    	public String clearApplications();    	
    	public String getDeviceLog();   	
    	public String disconnect();   	
    	public String restartCradle();  	
    	public String resetNpCamera();  	  	
    	public String putOnDevice(String path, String sourcePath);
    	public String executeCommand(String cmd);	
    	public String getInstalledApplications();
    	public String getEntireDirFromDevice(String path, boolean recursive);    	
    	public String clearAllBrowsing ();
    	public String pinchAndZoom (String body);	 	
    	public String suspendDevice ();
    	public String resumeDeviceSuspension ();

    	
}